import { ChartLineValueItemVO } from '@/entiy/vo/ChartLineValueItemVO.ts';

export class MonitoringDataUtils {

    /**
     * 将监控数据转换成折线图所需数据格式
     *
     * @param recordList 监控数据
     * @param createChartLineValueItem 将监控数据转换成折现图所需的对象的转换方法
     */
    public static processMonitoringData<T> (recordList: T[], createChartLineValueItem: (record: T) => ChartLineValueItemVO | null) {
        const unfoldRecordList: ChartLineValueItemVO[] = [];
        recordList.forEach((record) => {
            const chartLineValueItemVO = createChartLineValueItem(record);
            if (chartLineValueItemVO) {
                unfoldRecordList.push(chartLineValueItemVO);
            }
        });
        return unfoldRecordList;
    }
}
